iT邦幫忙

3

ChatGPT 應用系統開發(一)

  • 分享至 

  • xImage
  •  

前言

上一篇介紹如何使用ChatGPT在5分鐘內完成網頁開發,這次,我們來談談如何利用 OpenAI API 開發應用系統。

API訂閱

首先,到ChatGPT註冊一個帳號,之後,連結到OpenAI個人網頁,開通API,分為兩種方案:試用、付費帳號,筆者選擇『付費帳號』,計費方式採『用多少付多少』(Pay as you go),如下圖:
https://ithelp.ithome.com.tw/upload/images/20230518/20001976tAt8GJouZQ.png
圖一. API開通

OpenAI 提供多種模型,費用如下表,以GPT3.5模型最實惠,兼具速度與功能。
https://ithelp.ithome.com.tw/upload/images/20230518/20001976Lqt8pKI5Qb.png
圖二. OpenAI 模型與費用

API使用

本文以 Python 為主,其他電腦語言也OK。
安裝:pip install openai

使用API有下列幾種方式:

  1. curl指令:不必安裝軟體,可參閱 OpenAI API 參考文件
  2. Postman工具軟體:使用Postman測試API。
  3. 命令行(Command-line interface):使用openai指令,相關參數可執行 openai api -h。
  4. 撰寫程式:參閱 OpenAI API 文件說明
  5. 使用 Azure雲端平台。
  6. 在 VS Code 中安裝Extension。

本文僅介紹『撰寫程式』的方式,首先在OpenAI個人網頁新增OPENAI API KEY,注意,一旦新增,須立即複製,事後無法再取得。

在呼叫API之前,先新增一個環境變數OPENAI_API_KEY,如下圖:
https://ithelp.ithome.com.tw/upload/images/20230518/20001976Yc6JMDmHi1.png
圖三. OPENAI API KEY

設定完成後,我們就可以開工了。

範例1. 呼叫GPT-3模型。

import openai

# 取得環境變數OPENAI_API_KEY,可省略
openai.api_key = os.getenv("OPENAI_API_KEY") 

# 提示
prompt = 'Write a tagline for an ice cream shop.'

# 呼叫 API,使用模型 text-davinci-003
response = openai.Completion.create(
    model="text-davinci-003",
    prompt=prompt,
)

# 取得【回答】
print(response.choices[0].text)

接著在終端機或cmd中執行上述程式即可,先將上述程式存檔為1.py,再執行下列指令即可顯示結果:
python 1.py

範例2. 呼叫 GPT-3.5 或 GPT-4 模型。

import openai

# 訊息
messages=[
    {"role": "system", "content": "You are a marketing expert."},
    {"role": "user", "content": prompt}
]

# 呼叫 API,使用模型 gpt-3.5-turbo
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo", # "gpt-4"
    messages=messages,
)

# 取得【回答】
response.choices[0].message.content

接著在終端機或cmd下執行上述程式即可,先將上述程式存檔為2.py,再執行下列指令即可顯示結果:
python 2.py

GPT-3.5 或 GPT-4 模型均強制要使用結構化的訊息(Messages)格式,如下圖:
https://ithelp.ithome.com.tw/upload/images/20230518/20001976Nn1neVJ86c.png
圖四. 結構化的訊息(Messages)格式

結構化的訊息以角色撰寫提示:

  1. 系統(System):指定ChatGPT 要扮演的角色。。
  2. 助理(Assistant):後面接ChatGPT 的回答。
  3. 使用者(User):後面接使用者的回答。

結語

以上只是呼叫API的起步,OpenAI涵蓋的API類別包括:

  1. 回答問題、聊天
  2. 協助寫作
  3. 程式撰寫
  4. 自然語言處理
  5. 藝術創作
  6. 語音辨識與翻譯
  7. 提示仲裁(Moderations)

另外,筆者也參考許多文章,可以利用OpenAI API,開發許多功能:

  1. Fine tuning:建立企業專屬的語言模型。
  2. 文本嵌入(Text Embedding) 應用:可實現分類(Classification)、迴歸(Regression)、集群(Clustering)、搜尋(Search)、推薦(Recommendation)、異常檢測(Anomaly detection)...等。
  3. Line App 整合。
  4. SQL產生器。
  5. Prompt Management。
  6. Quiz Wizard:考試卷、菜單、滿意度調查。
  7. PPT/Word Generator。
  8. 英語會話精靈。

Happy coding !! 下次見。

工商廣告:)

影音課程:

開發者必學:OpenAI API應用與開發
開發者必學:OpenAI API應用與開發
ChatGPT企業實踐指南 | 技術透析與整合應用
深度學習PyTorch入門到實戰應用

書籍:

ChatGPT 完整解析:API 實測與企業應用實戰
ChatGPT 完整解析:API 實測與企業應用實戰
Scikit-learn 詳解與企業應用
開發者傳授 PyTorch 秘笈
深度學習 -- 最佳入門邁向 AI 專題實戰


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言